package ink.yql.model;

import java.io.Serializable;

/**
 * @author YQL
 */
public class Team implements Serializable {
    /**
     * 团队id
     */
    private Integer tid;
    /**
     * 项目id
     */
    private Integer pid;
    /**
     * qq
     */
    private Integer tqq;
    /**
     * 邮箱
     */
    private Integer tmail;
    /**
     * 网址
     */
    private Integer tinternetSite;

    public Team(Integer tid, Integer pid, Integer tqq, Integer tmail, Integer tinternetSite) {
        this.tid = tid;
        this.pid = pid;
        this.tqq = tqq;
        this.tmail = tmail;
        this.tinternetSite = tinternetSite;
    }

    public Team() {
    }

    public static TeamBuilder builder() {
        return new TeamBuilder();
    }

    public Integer getTid() {
        return this.tid;
    }

    public Integer getPid() {
        return this.pid;
    }

    public Integer getTqq() {
        return this.tqq;
    }

    public Integer getTmail() {
        return this.tmail;
    }

    public Integer getTinternetSite() {
        return this.tinternetSite;
    }

    public void setTid(Integer tid) {
        this.tid = tid;
    }

    public void setPid(Integer pid) {
        this.pid = pid;
    }

    public void setTqq(Integer tqq) {
        this.tqq = tqq;
    }

    public void setTmail(Integer tmail) {
        this.tmail = tmail;
    }

    public void setTinternetSite(Integer tinternetSite) {
        this.tinternetSite = tinternetSite;
    }

    public boolean equals(final Object o) {
        if (o == this) return true;
        if (!(o instanceof Team)) return false;
        final Team other = (Team) o;
        if (!other.canEqual((Object) this)) return false;
        final Object this$tid = this.getTid();
        final Object other$tid = other.getTid();
        if (this$tid == null ? other$tid != null : !this$tid.equals(other$tid)) return false;
        final Object this$pid = this.getPid();
        final Object other$pid = other.getPid();
        if (this$pid == null ? other$pid != null : !this$pid.equals(other$pid)) return false;
        final Object this$tqq = this.getTqq();
        final Object other$tqq = other.getTqq();
        if (this$tqq == null ? other$tqq != null : !this$tqq.equals(other$tqq)) return false;
        final Object this$tmail = this.getTmail();
        final Object other$tmail = other.getTmail();
        if (this$tmail == null ? other$tmail != null : !this$tmail.equals(other$tmail)) return false;
        final Object this$tinternetSite = this.getTinternetSite();
        final Object other$tinternetSite = other.getTinternetSite();
        if (this$tinternetSite == null ? other$tinternetSite != null : !this$tinternetSite.equals(other$tinternetSite))
            return false;
        return true;
    }

    protected boolean canEqual(final Object other) {
        return other instanceof Team;
    }

    public int hashCode() {
        final int PRIME = 59;
        int result = 1;
        final Object $tid = this.getTid();
        result = result * PRIME + ($tid == null ? 43 : $tid.hashCode());
        final Object $pid = this.getPid();
        result = result * PRIME + ($pid == null ? 43 : $pid.hashCode());
        final Object $tqq = this.getTqq();
        result = result * PRIME + ($tqq == null ? 43 : $tqq.hashCode());
        final Object $tmail = this.getTmail();
        result = result * PRIME + ($tmail == null ? 43 : $tmail.hashCode());
        final Object $tinternetSite = this.getTinternetSite();
        result = result * PRIME + ($tinternetSite == null ? 43 : $tinternetSite.hashCode());
        return result;
    }

    public String toString() {
        return "Team(tid=" + this.getTid() + ", pid=" + this.getPid() + ", tqq=" + this.getTqq() + ", tmail=" + this.getTmail() + ", tinternetSite=" + this.getTinternetSite() + ")";
    }

    public static class TeamBuilder {
        private Integer tid;
        private Integer pid;
        private Integer tqq;
        private Integer tmail;
        private Integer tinternetSite;

        TeamBuilder() {
        }

        public Team.TeamBuilder tid(Integer tid) {
            this.tid = tid;
            return this;
        }

        public Team.TeamBuilder pid(Integer pid) {
            this.pid = pid;
            return this;
        }

        public Team.TeamBuilder tqq(Integer tqq) {
            this.tqq = tqq;
            return this;
        }

        public Team.TeamBuilder tmail(Integer tmail) {
            this.tmail = tmail;
            return this;
        }

        public Team.TeamBuilder tinternetSite(Integer tinternetSite) {
            this.tinternetSite = tinternetSite;
            return this;
        }

        public Team build() {
            return new Team(tid, pid, tqq, tmail, tinternetSite);
        }

        public String toString() {
            return "Team.TeamBuilder(tid=" + this.tid + ", pid=" + this.pid + ", tqq=" + this.tqq + ", tmail=" + this.tmail + ", tinternetSite=" + this.tinternetSite + ")";
        }
    }
}
